package edu.hunau.cxb19.oop.class10.warp;

import org.junit.Test;

/**
 *
 * @author hb
 *
 *         2020-03-06 15:03:59
 */
public class WarpTest {

	@Test
	public void test() {
		System.out.println(Integer.toBinaryString(192));// 11000000
		System.out.println(Integer.toOctalString(192));// 300
		System.out.println(Integer.toHexString(192));// c0

	}

	@Test
	public void test02() {

		int a = Integer.parseInt("192");
		System.out.println(a);
		a = Integer.parseInt("11000000", 2);
		System.out.println(a);
		a = Integer.parseInt("300", 8);
		System.out.println(a);
		a = Integer.parseInt("c0", 16);
		System.out.println(a);

	}

	@Test
	public void test03() {
		// 获得一个Integer类型的数据
		Integer i1 = new Integer(192);// 过时

		Integer i2 = Integer.valueOf(192);// 推荐使用

		// 自动装箱
		Integer i3 = 192;
		Double d1 = 1.0;
		// Float f1=1.0;1.0属于double类型
		// Long l1=100; //编译失败，100属于int类型，无法自动装箱为了Long类型。
		Long l1 = 100l;
	}

	@Test
	public void test04() {
		Integer i1 = new Integer(127);
		Integer i2 = new Integer(127);
		System.out.println(i1 == i2);//==比较地址值 false
		
		Integer i3 = Integer.valueOf(127);//127会从底层的cache数组中获得
		Integer i4 = Integer.valueOf(127);
		System.out.println(i3==i4);//true
 
		
		//统一修改局部变量的名称：选择变量名-》shift+alt+r
		Integer i5 = Integer.valueOf(128);//128在cache数组中没有缓存，直接通过new构建
		Integer i6 = Integer.valueOf(128);
		System.out.println(i5==i6);//false
		
		Integer i7=100;//自动装箱默认会调用valueOf方法实现功能
		Integer i8=100;
		System.out.println(i7==i8);//true

	}
	
	@Test
	public void test05() {
		int i1=new Integer(127);
		int i2=Integer.valueOf(127);
		
		double d1 = Double.valueOf(1.0);
		//float f1=Double.valueOf(1.2);编译失败
	    long l1=Integer.valueOf(100);
	}
}
